The present invention is directed towards a bimodal bus accessing system in which a plurality of user terminals communicate with each other via plurality of bus interface units (BIUs) which are connected to a serial straight-line topology bus which may be folded upon itself to provide a ring, star or branching tree bus topology.
In accordance with known bus communication systems, each BIU is associated with at least one user terminal and periodically places information from its associated user terminal on the transmission bus for transmission to the remaining BIUs. The BIU formats this information into one or more information packets which generally include a source address (the address of the BIU associated with the user terminal), a destination address (the address of the user terminal for which the information is intended and its associated BIU), the information to be transmitted and various other information such as parity or CRC bits, etc. Once the BIU has properly formatted the information, it places it on the bus for transmission to the remaining BIUs at times determined by the particular bus accessing scheme being used. One such bus accessing scheme is known as a time division multiple accessing scheme wherein each user terminal is assigned a specific time slot during which it can gain access to the transmission bus. Exemplary of such systems is U.S. Pat. No. 3,851,104. While this system provides a relatively simple bus accessing scheme which prevents collision of two or more information packets on the transmission bus, it has two major drawbacks. Initially, in order for the system to operate properly, each BIU must employ an extremely accurate timer to ensure that the time slots of the individual BIUs do not overlap. Additionally, any given BIU may have to wait a relatively long period of time for its time slot to reappear with the result that information is transmitted relatively, rather than in real-time manner.
In order to overcome the foregoing drawbacks, contention systems using a listen-while-talk protocol have been developed. In accordance with this system, each BIU continually monitors the condition of the transmission bus and places its information packet on the bus whenever the bus is silent. If, during the transmission, the BIU detects other information on the bus, it halts its transmission for a variable time period and then attempts to regain access to a bus when the line is silent. Exemplary of such systems are U.S. Pat. Nos. 4,210,780 and 4,063,220.
While contention systems avoid the need for highly accurate clocks, and also utilize the bus in a more efficient manner during periods in which relatively little information is being transmitted, they exhibit a major drawback in that collisions occasionally occur between transmitted packets. As a result, these systems must retransmit information after a random interval of time whenever a collision occurs. This significantly reduces the efficiency of the system during periods of high bus use.
In order to overcome the foregoing problems, the inventor of the present invention developed a bidirectional token flow system which is described in detail in copending application Ser. No. 351,821, filed Feb. 24, 1982, assigned to the assignee of the present invention and incorporated herein by reference in its entirety. In this system, the right to transmit a packet of information on the transmission bus is transferred from BIU to BIU by the passing of a virtual token. In accordance with this system, no two BIUs receive a token at the same time. As such, only one BIU will have the right to place its information packet on the bus at a given instant. This process avoids the collision of data on the bus and provides a fast and efficient method of transmitting data between the various user terminals. This method is significantly faster than the time division multiple access system of the prior art during periods of low bus usage since there are no unusual time slots. It is more efficient than the contention system during periods of high bus usage since it avoids both the loss of information on the bus to packet collisions and the loss of time due to the various back-off algorithms used. This system is, however, less efficient than a contention system during periods of low bus usage as far as bus access times are concerned.